Analyze the Pluvio Data - Entire Season + Case Selection#

Imports#

import act
import glob
import xarray as xr
import hvplot.xarray
import holoviews as hv
hv.extension("bokeh")

Data Access#

files = act.discovery.download_arm_data(
    "mgrover4", "176e1559b67be630", "gucwbpluvio2M1.a1", "2021-12-01", "2022-03-31"
)
[DOWNLOADING] gucwbpluvio2M1.a1.20220317.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220318.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220319.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220320.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220321.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220322.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220323.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220324.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220325.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220326.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220327.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220328.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220329.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220330.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220331.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220224.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211201.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211202.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211203.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211206.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211207.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211208.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211209.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211216.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211217.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211218.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211222.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211224.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211225.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211226.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211227.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211228.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211229.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220102.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220109.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220110.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220112.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220111.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220113.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220116.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220122.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220124.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220127.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220130.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220131.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220202.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220201.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220204.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220205.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220213.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220217.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220221.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220219.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220220.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211204.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211205.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211211.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211210.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211213.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211212.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211214.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211215.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211219.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211220.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211221.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211223.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211231.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211230.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220101.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220103.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220104.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220106.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220105.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220107.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220108.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220114.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220115.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220117.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220118.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220120.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220119.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220121.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220123.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220125.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220126.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220128.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220129.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220203.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220207.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220206.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220209.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220208.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220210.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220211.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220212.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220215.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220214.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220216.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220218.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220223.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220222.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220226.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220225.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220227.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220228.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220301.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220304.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220302.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220303.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220306.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220305.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220307.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220308.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220309.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220310.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220311.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220312.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220313.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220314.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220315.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220316.000000.nc

If you use these data to prepare a publication, please cite:

Wang, D., Jane, M., Cromwell, E., Sturm, M., Irving, K., Delamere, J., &
Mockaitis, M. Weighing Bucket Precipitation Gauge (WBPLUVIO2). Atmospheric
Radiation Measurement (ARM) User Facility. https://doi.org/10.5439/1338194

Load Data into Xarray and Compute Accumulation Using ACT#

files = sorted(glob.glob("gucwbpluvio2M1.a1/*"))
ds = xr.open_mfdataset(files, engine='netcdf4')
gauge_precip_accum = act.utils.accumulate_precip(ds.where(ds.pluvio_status == 0), "intensity_rtnrt").intensity_rtnrt_accumulated.compute()

Visualize our Data#

Entire Season#

ds.intensity_rtnrt.hvplot(width=300, height=200) * gauge_precip_accum.hvplot(width=300, height=200)
ds.sel(time=slice("2021-12-23", "2022-01-01")).intensity_rtnrt.hvplot(width=300, height=200) * gauge_precip_accum.sel(time=slice("2021-12-23", "2022-01-01")).hvplot(width=300, height=200)
ds.sel(time=slice("2022-03-04", "2022-03-07")).intensity_rtnrt.hvplot(width=300, height=200) * gauge_precip_accum.sel(time=slice("2022-03-04", "2022-03-07")).hvplot(width=300, height=200)

Compare with the Gothic Site#

import pandas as pd
from metpy.units import units
"https://docs.google.com/spreadsheets/d/1S7xZPT0IoJk0bWt34BKvyT9xzPbI1Tv6q28M3ZqiMpE/edit?usp=sharing"
df = pd.read_excel('https://docs.google.com/spreadsheets/d/' + 
                   '1S7xZPT0IoJk0bWt34BKvyT9xzPbI1Tv6q28M3ZqiMpE' +
                   '/export?gid=0&format=xlsx',
                   sheet_name='Sheet1')
df
Date temp ºC (ºF) cm (inches) Snow accumulation (cm) Liquid equivalent (in) Accumulation Ratio
0 2021-12-01 -7½ (18) 11½ (53) 0.0 0.0 #DIV/0!
1 2021-12-02 -8 (18) 12½ (55) 0.0 0.0 #DIV/0!
2 2021-12-03 -8½ (17) 11½ (53) 0.0 0.0 #DIV/0!
3 2021-12-04 -8½ (17) 9½ (49) 0.0 0.0 #DIV/0!
4 2021-12-05 -8 (18) 5½ (42) 0.0 0.0 #DIV/0!
... ... ... ... ... ... ...
178 2022-05-29 -½ (31) 13½ (56) 0.0 0.0 #DIV/0!
179 2022-05-30 -2½ (27) 5½ (42) 9.0 0.5 7.086614
180 2022-05-31 -5½ (22) 11 (52) 2.0 0.1 7.874016
181 NaT NaN NaN NaN NaN NaN
182 NaT NaN NaN NaN NaN #DIV/0!

183 rows × 6 columns

Convert all units to millimeters and set the date column as the index#

# Add units
swe_inches = df["Liquid equivalent (in)"].astype(float).values * units.inches
accum_cm = df["Snow accumulation (cm)"].astype(float).values * units.centimeter

# Do the conversion using MetPy
swe_mm = swe_inches.to("mm")
accum_mm = accum_cm.to("mm")

# Strip Units
df["swe_mm"] = swe_mm.m
df["accum_mm"] = accum_mm.m

# Set the index to date
df["Date"] = pd.to_datetime(df.Date)
df = df.set_index("Date")

# Convert to xarray!
gothic_ds = df.to_xarray().dropna("Date")

Visualize the Gothic Colorado Snow Accumulation and Snow Water Liquid Equivalent (SWE)#

(gothic_ds["swe_mm"].hvplot(width=400,
                            title='Snow water liquid equivalent (SWE) at Gothic') + 
 gothic_ds["accum_mm"].hvplot(width=400,
                              title='Snow depth at Gothic')
).cols(1)